Typical high availability computer systems include an active node, which is in control of the system and a passive node, which is not in control of the system but may become available if the active node fails. In this way, the computer system is always or nearly always available. Like in many other systems, high availability computer systems may also periodically go through a system upgrade, which may include updating the firmware of the nodes, installing additional components or replacing failed components with working components.
During a system upgrade involving updating the firmware of the nodes, some older high availability computer systems bring down the active node and do not let the passive node take control of the system while the active node is brought down due to inherent limitations within the computer system. In such systems, both the nodes are down at the same time, leaving the computer system unavailable for the duration of the system upgrade. This may be undesirable because the computer system becomes unavailable for the duration of the system upgrade.
In more recent high availability computer systems, a system upgrade may be performed with zero downtime, which means that the computer system is always available during the system upgrade. In these systems, the passive node may undergo a firmware update while the active node has control of the computer system. Once the firmware update at the passive node is complete, the passive node takes control of the system and the active node undergoes the firmware update. However, these systems require significant user interaction during the system upgrade, which may be undesirable in situations where a user is unavailable at the location of the system or during the entire system upgrade process.
It is with respect to these and other considerations that the disclosure presented herein has been made.